package com.lxmes.sales.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 库存明细对象 cc_stock_info
 *
 * @author 张志煜
 * @date 2022-11-29
 */
public class CcStockInfoVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String factoryName;

    /** 物料子图号 */
    @Excel(name = "物料编号")
    private String itemCode;
    /** 物料图号 */
    @Excel(name = "物料子编号")
    private String itemId;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String itemName;
    /** 规格型号 */
    @Excel(name = "规格型号")
    private String spec;

    /** 批次号 */
    @Excel(name = "批次号")
    private String lot;

    /** 库位数量 */
    @Excel(name = "库位数量")
    private BigDecimal kcNum;

    /** 资源锁账数量 */
    @Excel(name = "资源锁账数量")
    private BigDecimal resourceLocking;

    /** 计划锁账数量 */
    @Excel(name = "计划锁账数量")
    private BigDecimal planLocking;

    /** 锁账数量 */
    @Excel(name = "锁账数量")
    private BigDecimal lockNum;

    /** 可用数量 */
    @Excel(name = "可用数量")
    private BigDecimal kyNum;

    /** 实盘数量 */
    @Excel(name = "实盘数量")
    private BigDecimal spNum;

    /** 总数量 */
    @Excel(name = "总数量")
    private BigDecimal totalNum;

    /** 差异调整数量 */
    @Excel(name = "差异调整数量")
    private BigDecimal cyNum;

    /** 供应商 */
    @Excel(name = "供应商")
    private Long supplyId;

    /** 配送在途 */
    @Excel(name = "配送在途")
    private BigDecimal psztNum;

    /** 流转在途 */
    @Excel(name = "流转在途")
    private BigDecimal lzztNum;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplyName;

    /** 物料分类id */
    @Excel(name = "物料分类id")
    private String classId;
    private String classId2;

    /** 物料分类 */
    @Excel(name = "物料分类")
    private String className;

    /** 物料单位 */
    @Excel(name = "物料单位")
    private String unit;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 仓库编码 */
    @Excel(name = "仓库编码")
    private String stockId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String stockName;

    /** 库区编码 */
    @Excel(name = "库区编码")
    private String kuquCode;

    /** 库区名称 */
    @Excel(name = "库区名称")
    private String kuquName;

    /** 库位编码 */
    @Excel(name = "库位编码")
    private String kuweiCode;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal totalPrice;

    /** 实时单价 */
    @Excel(name = "实时单价")
    private BigDecimal realPrice;

    /** 实时金额 */
    @Excel(name = "实时金额")
    private BigDecimal realTotalPrice;

    /** 差异金额 */
    @Excel(name = "差异金额")
    private BigDecimal cyTotalPrice;

    /** 实盘金额 */
    @Excel(name = "实盘金额")
    private BigDecimal spTotalPrice;

    /** 排产编号 */
    @Excel(name = "排产编号")
    private String pcId;

    /** 销售订单号 */
    @Excel(name = "销售订单号")
    private String saleOrderCode;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractCode;
    /** 客户代码 */
    @Excel(name = "客户代码")
    private String clientCode;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String clientName;

    /** 合同数量 */
    @Excel(name = "合同数量")
    private BigDecimal contractNum;

    /** 订单满足率 */
    @Excel(name = "订单满足率")
    private BigDecimal orderFill;

    /** 是否停用 */
    @Excel(name = "是否停用")
    private String isStop;

    /** 是否呆滞 */
    @Excel(name = "是否呆滞")
    private String isDaizhi;

    /** 是否拣货 */
    @Excel(name = "是否拣货")
    private String isJianhuo;

    /** 托管标志 */
    @Excel(name = "托管标志")
    private String isTuoguan;

    /** 托盘码 */
    @Excel(name = "托盘码")
    private String tuopanCode;

    /** 器具编号 */
    @Excel(name = "器具编号")
    private String qijuCode;

    /** 条形码 */
    @Excel(name = "条形码")
    private String txm;

    /** 制造商编码 */
    @Excel(name = "制造商编码")
    private String makerCode;

    /** 制造商名称 */
    @Excel(name = "制造商名称")
    private String makerName;

    /** 质量状态 */
    @Excel(name = "质量状态")
    private String qualityState;

    /** 尺寸 */
    @Excel(name = "尺寸")
    private BigDecimal size;

    /** 单重 */
    @Excel(name = "单重")
    private BigDecimal singleWeight;

    /** 总重 */
    @Excel(name = "总重")
    private BigDecimal totalWeight;

    /** 包装数量 */
    @Excel(name = "包装数量")
    private BigDecimal packingNum;

    /** 出库单号 */
    @Excel(name = "出库单号")
    private String chukuId;

    /** 入库单号 */
    @Excel(name = "入库单号")
    private String rukuId;

    /** 入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rukuDate;

    /** 库存上限 */
    @Excel(name = "库存上限")
    private BigDecimal upLine;

    /** 库存下限 */
    @Excel(name = "库存下限")
    private BigDecimal downLine;

    /** 安全库存 */
    @Excel(name = "安全库存")
    private BigDecimal stockSafe;

    /** 使用状态 */
    @Excel(name = "使用状态")
    private String useState;

    /** 颜色 */
    @Excel(name = "颜色")
    private String color;

    /** 花纹 */
    @Excel(name = "花纹")
    private String figure;

    /** 材质 */
    @Excel(name = "材质")
    private String caizhi;

    /** 逻辑乐观锁 */
    @Excel(name = "逻辑乐观锁")
    private Long version;
    private Long[] queryIds;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFactoryCode(String factoryCode)
    {
        this.factoryCode = factoryCode;
    }

    public String getFactoryCode()
    {
        return factoryCode;
    }
    public void setFactoryName(String factoryName)
    {
        this.factoryName = factoryName;
    }

    public String getFactoryName()
    {
        return factoryName;
    }
    public void setItemCode(String itemCode)
    {
        this.itemCode = itemCode;
    }

    public String getItemCode()
    {
        return itemCode;
    }
    public void setItemName(String itemName)
    {
        this.itemName = itemName;
    }

    public String getItemName()
    {
        return itemName;
    }
    public void setItemId(String itemId)
    {
        this.itemId = itemId;
    }

    public String getItemId()
    {
        return itemId;
    }
    public void setSpec(String spec)
    {
        this.spec = spec;
    }

    public String getSpec()
    {
        return spec;
    }
    public void setLot(String lot)
    {
        this.lot = lot;
    }

    public String getLot()
    {
        return lot;
    }
    public void setKcNum(BigDecimal kcNum)
    {
        this.kcNum = kcNum;
    }

    public BigDecimal getKcNum()
    {
        return kcNum;
    }


    public BigDecimal getResourceLocking() {
        return resourceLocking;
    }

    public void setResourceLocking(BigDecimal resourceLocking) {
        this.resourceLocking = resourceLocking;
    }

    public BigDecimal getPlanLocking() {
        return planLocking;
    }

    public void setPlanLocking(BigDecimal planLocking) {
        this.planLocking = planLocking;
    }

    public void setLockNum(BigDecimal lockNum)
    {
        this.lockNum = lockNum;
    }

    public BigDecimal getLockNum()
    {
        return lockNum;
    }
    public void setKyNum(BigDecimal kyNum)
    {
        this.kyNum = kyNum;
    }

    public BigDecimal getKyNum()
    {
        return kyNum;
    }
    public void setSpNum(BigDecimal spNum)
    {
        this.spNum = spNum;
    }

    public BigDecimal getSpNum()
    {
        return spNum;
    }
    public void setTotalNum(BigDecimal totalNum)
    {
        this.totalNum = totalNum;
    }

    public BigDecimal getTotalNum()
    {
        return totalNum;
    }
    public void setCyNum(BigDecimal cyNum)
    {
        this.cyNum = cyNum;
    }

    public BigDecimal getCyNum()
    {
        return cyNum;
    }
    public void setSupplyId(Long supplyId)
    {
        this.supplyId = supplyId;
    }

    public Long getSupplyId()
    {
        return supplyId;
    }
    public void setPsztNum(BigDecimal psztNum)
    {
        this.psztNum = psztNum;
    }

    public BigDecimal getPsztNum()
    {
        return psztNum;
    }
    public void setLzztNum(BigDecimal lzztNum)
    {
        this.lzztNum = lzztNum;
    }

    public BigDecimal getLzztNum()
    {
        return lzztNum;
    }
    public void setSupplyName(String supplyName)
    {
        this.supplyName = supplyName;
    }

    public String getSupplyName()
    {
        return supplyName;
    }
    public void setClassId(String classId)
    {
        this.classId = classId;
    }

    public String getClassId()
    {
        return classId;
    }
    public void setClassName(String className)
    {
        this.className = className;
    }

    public String getClassName()
    {
        return className;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setStockId(String stockId)
    {
        this.stockId = stockId;
    }

    public String getStockId()
    {
        return stockId;
    }
    public void setStockName(String stockName)
    {
        this.stockName = stockName;
    }

    public String getStockName()
    {
        return stockName;
    }
    public void setKuquCode(String kuquCode)
    {
        this.kuquCode = kuquCode;
    }

    public String getKuquCode()
    {
        return kuquCode;
    }
    public void setKuquName(String kuquName)
    {
        this.kuquName = kuquName;
    }

    public String getKuquName()
    {
        return kuquName;
    }
    public void setKuweiCode(String kuweiCode)
    {
        this.kuweiCode = kuweiCode;
    }

    public String getKuweiCode()
    {
        return kuweiCode;
    }
    public void setUnitPrice(BigDecimal unitPrice)
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice()
    {
        return unitPrice;
    }
    public void setTotalPrice(BigDecimal totalPrice)
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice()
    {
        return totalPrice;
    }
    public void setRealPrice(BigDecimal realPrice)
    {
        this.realPrice = realPrice;
    }

    public BigDecimal getRealPrice()
    {
        return realPrice;
    }
    public void setRealTotalPrice(BigDecimal realTotalPrice)
    {
        this.realTotalPrice = realTotalPrice;
    }

    public BigDecimal getRealTotalPrice()
    {
        return realTotalPrice;
    }
    public void setCyTotalPrice(BigDecimal cyTotalPrice)
    {
        this.cyTotalPrice = cyTotalPrice;
    }

    public BigDecimal getCyTotalPrice()
    {
        return cyTotalPrice;
    }
    public void setSpTotalPrice(BigDecimal spTotalPrice)
    {
        this.spTotalPrice = spTotalPrice;
    }

    public BigDecimal getSpTotalPrice()
    {
        return spTotalPrice;
    }
    public void setPcId(String pcId)
    {
        this.pcId = pcId;
    }

    public String getPcId()
    {
        return pcId;
    }
    public void setSaleOrderCode(String saleOrderCode)
    {
        this.saleOrderCode = saleOrderCode;
    }

    public String getSaleOrderCode()
    {
        return saleOrderCode;
    }
    public void setContractCode(String contractCode)
    {
        this.contractCode = contractCode;
    }

    public String getContractCode()
    {
        return contractCode;
    }
    public void setContractNum(BigDecimal contractNum)
    {
        this.contractNum = contractNum;
    }

    public BigDecimal getContractNum()
    {
        return contractNum;
    }
    public void setOrderFill(BigDecimal orderFill)
    {
        this.orderFill = orderFill;
    }

    public BigDecimal getOrderFill()
    {
        return orderFill;
    }
    public void setIsStop(String isStop)
    {
        this.isStop = isStop;
    }

    public String getIsStop()
    {
        return isStop;
    }
    public void setIsDaizhi(String isDaizhi)
    {
        this.isDaizhi = isDaizhi;
    }

    public String getIsDaizhi()
    {
        return isDaizhi;
    }
    public void setIsJianhuo(String isJianhuo)
    {
        this.isJianhuo = isJianhuo;
    }

    public String getIsJianhuo()
    {
        return isJianhuo;
    }
    public void setIsTuoguan(String isTuoguan)
    {
        this.isTuoguan = isTuoguan;
    }

    public String getIsTuoguan()
    {
        return isTuoguan;
    }
    public void setTuopanCode(String tuopanCode)
    {
        this.tuopanCode = tuopanCode;
    }

    public String getTuopanCode()
    {
        return tuopanCode;
    }
    public void setQijuCode(String qijuCode)
    {
        this.qijuCode = qijuCode;
    }

    public String getQijuCode()
    {
        return qijuCode;
    }
    public void setTxm(String txm)
    {
        this.txm = txm;
    }

    public String getTxm()
    {
        return txm;
    }
    public void setMakerCode(String makerCode)
    {
        this.makerCode = makerCode;
    }

    public String getMakerCode()
    {
        return makerCode;
    }
    public void setMakerName(String makerName)
    {
        this.makerName = makerName;
    }

    public String getMakerName()
    {
        return makerName;
    }
    public void setQualityState(String qualityState)
    {
        this.qualityState = qualityState;
    }

    public String getQualityState()
    {
        return qualityState;
    }
    public void setSize(BigDecimal size)
    {
        this.size = size;
    }

    public BigDecimal getSize()
    {
        return size;
    }
    public void setSingleWeight(BigDecimal singleWeight)
    {
        this.singleWeight = singleWeight;
    }

    public BigDecimal getSingleWeight()
    {
        return singleWeight;
    }
    public void setTotalWeight(BigDecimal totalWeight)
    {
        this.totalWeight = totalWeight;
    }

    public BigDecimal getTotalWeight()
    {
        return totalWeight;
    }
    public void setPackingNum(BigDecimal packingNum)
    {
        this.packingNum = packingNum;
    }

    public BigDecimal getPackingNum()
    {
        return packingNum;
    }
    public void setChukuId(String chukuId)
    {
        this.chukuId = chukuId;
    }

    public String getChukuId()
    {
        return chukuId;
    }
    public void setRukuId(String rukuId)
    {
        this.rukuId = rukuId;
    }

    public String getRukuId()
    {
        return rukuId;
    }
    public void setRukuDate(Date rukuDate)
    {
        this.rukuDate = rukuDate;
    }

    public Date getRukuDate()
    {
        return rukuDate;
    }
    public void setUpLine(BigDecimal upLine)
    {
        this.upLine = upLine;
    }

    public BigDecimal getUpLine()
    {
        return upLine;
    }
    public void setDownLine(BigDecimal downLine)
    {
        this.downLine = downLine;
    }

    public BigDecimal getDownLine()
    {
        return downLine;
    }
    public void setStockSafe(BigDecimal stockSafe)
    {
        this.stockSafe = stockSafe;
    }

    public BigDecimal getStockSafe()
    {
        return stockSafe;
    }
    public void setUseState(String useState)
    {
        this.useState = useState;
    }

    public String getUseState()
    {
        return useState;
    }
    public void setColor(String color)
    {
        this.color = color;
    }

    public String getColor()
    {
        return color;
    }
    public void setFigure(String figure)
    {
        this.figure = figure;
    }

    public String getFigure()
    {
        return figure;
    }
    public void setCaizhi(String caizhi)
    {
        this.caizhi = caizhi;
    }

    public String getCaizhi()
    {
        return caizhi;
    }
    public void setVersion(Long version)
    {
        this.version = version;
    }

    public Long getVersion()
    {
        return version;
    }

    public Long[] getQueryIds() {
        return queryIds;
    }

    public void setQueryIds(Long[] queryIds) {
        this.queryIds = queryIds;
    }

    public String getClassId2() {
        return classId2;
    }

    public void setClassId2(String classId2) {
        this.classId2 = classId2;
    }

    public String getClientCode() {
        return clientCode;
    }

    public void setClientCode(String clientCode) {
        this.clientCode = clientCode;
    }

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("factoryCode", getFactoryCode())
            .append("factoryName", getFactoryName())
            .append("itemCode", getItemCode())
            .append("itemName", getItemName())
            .append("itemId", getItemId())
            .append("spec", getSpec())
            .append("lot", getLot())
            .append("kcNum", getKcNum())
            .append("lockNum", getLockNum())
            .append("kyNum", getKyNum())
            .append("spNum", getSpNum())
            .append("totalNum", getTotalNum())
            .append("cyNum", getCyNum())
            .append("supplyId", getSupplyId())
            .append("psztNum", getPsztNum())
            .append("lzztNum", getLzztNum())
            .append("supplyName", getSupplyName())
            .append("classId", getClassId())
            .append("className", getClassName())
            .append("unit", getUnit())
            .append("deptId", getDeptId())
            .append("stockId", getStockId())
            .append("stockName", getStockName())
            .append("kuquCode", getKuquCode())
            .append("kuquName", getKuquName())
            .append("kuweiCode", getKuweiCode())
            .append("unitPrice", getUnitPrice())
            .append("totalPrice", getTotalPrice())
            .append("realPrice", getRealPrice())
            .append("realTotalPrice", getRealTotalPrice())
            .append("cyTotalPrice", getCyTotalPrice())
            .append("spTotalPrice", getSpTotalPrice())
            .append("pcId", getPcId())
            .append("saleOrderCode", getSaleOrderCode())
            .append("contractCode", getContractCode())
            .append("contractNum", getContractNum())
            .append("orderFill", getOrderFill())
            .append("isStop", getIsStop())
            .append("isDaizhi", getIsDaizhi())
            .append("isJianhuo", getIsJianhuo())
            .append("isTuoguan", getIsTuoguan())
            .append("tuopanCode", getTuopanCode())
            .append("qijuCode", getQijuCode())
            .append("txm", getTxm())
            .append("makerCode", getMakerCode())
            .append("makerName", getMakerName())
            .append("qualityState", getQualityState())
            .append("size", getSize())
            .append("singleWeight", getSingleWeight())
            .append("totalWeight", getTotalWeight())
            .append("packingNum", getPackingNum())
            .append("chukuId", getChukuId())
            .append("rukuId", getRukuId())
            .append("rukuDate", getRukuDate())
            .append("upLine", getUpLine())
            .append("downLine", getDownLine())
            .append("stockSafe", getStockSafe())
            .append("useState", getUseState())
            .append("color", getColor())
            .append("figure", getFigure())
            .append("caizhi", getCaizhi())
            .append("version", getVersion())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
